/**
 * Copyright (c) 2024 Huawei Technologies Co., Ltd.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE-MIT file in the root directory of this source tree.
 */

#include "RNOH/PackageProvider.h"
#include "RNOHPackagesFactory.h"
#include "generated/RNOHGeneratedPackage.h"
#include "SafeAreaViewPackage.h"
#include "ReanimatedPackage.h"

using namespace rnoh;

std::vector<std::shared_ptr<Package>> PackageProvider::getPackages(Package::Context ctx) {
    // 手动link的package
    const std::vector<std::shared_ptr<Package>> ManualLinkingPackages = {
        std::make_shared<SafeAreaViewPackage>(ctx),
        std::make_shared<ReanimatedPackage>(ctx)
    };
    auto packages = createRNOHPackages(ctx);
    packages.push_back(std::make_shared<RNOHGeneratedPackage>(ctx)); // autolink
    for (const auto& pkg : ManualLinkingPackages) {
        packages.push_back(pkg); //逐个添加手动link的package
    }
    return packages;
} 